home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 121_01 / local.h < prev    next >
Text File  |  1985-08-19  |  3KB  |  162 lines

  1. /*
  2.  *    This file contains all of the local definitions
  3.  *    It is used by assorted utilities and LOCAL.C
  4.  *    Written by Stephen M. Kenton concurrent with same
  5.  *
  6.  * version 1.0:    September 1985
  7.  *    added version number
  8.  */
  9.  
  10. /*
  11.  *    Misc stuff that I use lots
  12.  */
  13. #define    DRIVES    "ABCDEFGHIJKLMNOP"
  14. #define CR    0x0D
  15. #define NL    0x0A
  16. #define CHARLEN    8    /* # of bits in a byte... */
  17. /*
  18.  *    Random device defines for use with file I/O
  19.  */
  20. #define    STDIN    0    /* Input to terminal, redirected by CIO */
  21. #define STDOUT    1    /* Output from terminal, redirected by CIO */
  22. #define STDLST    2    /* Output to the list device */
  23. #define STDPUN    3    /* I/O to the punch device */
  24. #define STDERR    4    /* Output to terminal, not redirected */
  25.  
  26. /*
  27.  *    The BIOS definitions
  28.  */
  29. #define    BOOT    0
  30. #define    WBOOT    1
  31. #define    CONST    2
  32. #define    CONIN    3
  33. #define    CONOUT    4
  34. #define    LIST    5
  35. #define    PUNCH    6
  36. #define    READER    7
  37. #define    HOME    8
  38. #define    SELDSK    9
  39. #define    SETTRK    10
  40. #define    SETSEC    11
  41. #define    SETDMA    12
  42. #define    READ    13
  43. #define    WRITE    14
  44. #define    LISTST    15
  45. #define    SECTRAN    16
  46.  
  47. /*
  48.  *    The BDOS definitions
  49.  */
  50. #define    SYSRESET    0
  51. #define    CONSOLEIN    1
  52. #define    CONSOLEOUT    2
  53. #define    READERIN    3
  54. #define    PUNCHOUT    4
  55. #define    LISTOUT        5
  56. #define    DIRECTIO    6
  57. #define    GETIOBYTE    7
  58. #define    SETIOBYTE    8
  59. #define    PRINTBUFF    9
  60. #define    READBUFF    10
  61. #define    CONSOLESTAT    11
  62. #define    GETVERSION    12
  63. #define    DISKRESET    13
  64. #define    SELECTDISK    14
  65. #define    OPENFILE    15
  66. #define    CLOSEFILE    16
  67. #define    SEARCHFIRST    17
  68. #define    SEARCHNEXT    18
  69. #define    DELETEFILE    19
  70. #define    ERASEFILE    19
  71. #define    READSEQ        20
  72. #define    WRITESEQ    21
  73. #define    MAKEFILE    22
  74. #define    CREATEFILE    22
  75. #define    RENAMEFILE    23
  76. #define    GETLOGIN    24
  77. #define    GETCURRENT    25
  78. #define    SETADDRESS    26
  79. #define    GETALLOC    27
  80. #define    WRITEPROT    28
  81. #define    GETREADONLY    29
  82. #define    SETFILEATTR    30
  83. #define    GETPARMS    31
  84. #define    USERCODE    32
  85. #define    READRAND    33
  86. #define    WRITERAND    34
  87. #define    FILESIZE    35
  88. #define    SETRANDOM    36
  89. #define    DRIVERESET    37
  90. #define    ZWRITERAND    40
  91.  
  92. /*
  93.  *    The FCB with optional random record number
  94.  */
  95. #define    FCBSIZ    36
  96. #define    fcb    struct FCB
  97. fcb    {
  98.     char    fcb_dr;
  99.     char    fcb_name[8];
  100.     char    fcb_type[3];
  101.     char    fcb_ex;
  102.     char    fcb_s1;
  103.     char    fcb_s2;
  104.     char    fcb_rc;
  105.     char    fcb_alv[16];
  106.     char    fcb_cr;
  107.     int    fcb_random;
  108.     char    fcb_r2;
  109.     };
  110.  
  111. /*
  112.  *    The Disk Directory Format
  113.  *    The added two byte NEXT field is for linked lists
  114.  */
  115. #define    DIRSIZ    32
  116. #define    ENTRYSIZE 34
  117. #define    dir    struct    DIR
  118. dir    {
  119.     char    dir_user;
  120.     char    dir_name[8];
  121.     char    dir_type[3];
  122.     char    dir_ex;
  123.     char    dir_s1;
  124.     char    dir_s2;
  125.     char    dir_rc;
  126.     char    dir_alv[16];
  127.     dir    *dir_next;
  128.     };
  129.  
  130. /*
  131.  *    The Disk Parameter Block
  132.  */
  133. #define    DPBSIZ    16
  134. #define    dpb    struct DPB
  135. dpb    {
  136.     int    dpb_spt;
  137.     char    dpb_bsh;
  138.     char    dpb_blm;
  139.     char    dpb_exm;
  140.     int    dpb_dsm;
  141.     int    dpb_drm;
  142.     char    dpb_al0;
  143.     char    dpb_al1;
  144.     int    dpb_cks;
  145.     int    dpb_off;
  146.     char    dpb_fmt;
  147.     };
  148.  
  149. /*
  150.  *    The Disk Parameter Header
  151.  */
  152. #define    DPHSIZ    16
  153. #define    dph    struct DPH
  154. dph    {
  155.     char    *dph_xlt;
  156.     char    dph_junk[6];
  157.     char    *dph_dirbuf;
  158.     dpb    *dph_dpb;
  159.     char    *dph_csv;
  160.     char    *dph_alv;
  161.     };
  162.